home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / sys / acct.h next >
C/C++ Source or Header  |  2006-05-08  |  3KB  |  78 lines

  1. /* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
  2.    This file is part of the GNU C Library.
  3.  
  4.    The GNU C Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Lesser General Public
  6.    License as published by the Free Software Foundation; either
  7.    version 2.1 of the License, or (at your option) any later version.
  8.  
  9.    The GNU C Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Lesser General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Lesser General Public
  15.    License along with the GNU C Library; if not, write to the Free
  16.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17.    02111-1307 USA.  */
  18.  
  19. #ifndef _SYS_ACCT_H
  20. #define _SYS_ACCT_H    1
  21.  
  22. #include <features.h>
  23.  
  24. #define    __need_time_t
  25. #include <time.h>
  26. #include <sys/types.h>
  27.  
  28. __BEGIN_DECLS
  29.  
  30. #define ACCT_COMM 16
  31.  
  32. /*
  33.   comp_t is a 16-bit "floating" point number with a 3-bit base 8
  34.   exponent and a 13-bit fraction. See linux/kernel/acct.c for the
  35.   specific encoding system used.
  36. */
  37.  
  38. typedef u_int16_t comp_t;
  39.  
  40. struct acct
  41.   {
  42.     char ac_flag;            /* Accounting flags.  */
  43.     u_int16_t ac_uid;            /* Accounting user ID.  */
  44.     u_int16_t ac_gid;            /* Accounting group ID.  */
  45.     u_int16_t ac_tty;            /* Controlling tty.  */
  46.     u_int32_t ac_btime;            /* Beginning time.  */
  47.     comp_t ac_utime;            /* Accounting user time.  */
  48.     comp_t ac_stime;            /* Accounting system time.  */
  49.     comp_t ac_etime;            /* Accounting elapsed time.  */
  50.     comp_t ac_mem;            /* Accounting average memory usage.  */
  51.     comp_t ac_io;            /* Accounting chars transferred.  */
  52.     comp_t ac_rw;            /* Accounting blocks read or written.  */
  53.     comp_t ac_minflt;            /* Accounting minor pagefaults.  */
  54.     comp_t ac_majflt;            /* Accounting major pagefaults.  */
  55.     comp_t ac_swaps;            /* Accounting number of swaps.  */
  56.     u_int32_t ac_exitcode;        /* Accounting process exitcode.  */
  57.     char ac_comm[ACCT_COMM+1];        /* Accounting command name.  */
  58.     char ac_pad[10];            /* Accounting padding bytes.  */
  59.   };
  60.  
  61. enum
  62.   {
  63.     AFORK = 0x01,        /* Has executed fork, but no exec.  */
  64.     ASU = 0x02,            /* Used super-user privileges.  */
  65.     ACORE = 0x08,        /* Dumped core.  */
  66.     AXSIG = 0x10        /* Killed by a signal.  */
  67.   };
  68.  
  69. #define AHZ     100
  70.  
  71.  
  72. /* Switch process accounting on and off.  */
  73. extern int acct (__const char *__filename) __THROW;
  74.  
  75. __END_DECLS
  76.  
  77. #endif    /* sys/acct.h */
  78.